package simulaco.dto;

import gminet.infra.dao.TransferObject;
import gminet.infra.toolkit.StringToolkit;

import java.util.ArrayList;
import java.util.List;

public class Questao extends TransferObject {

    private static final long serialVersionUID = -5905033772778857280L;

    private ConcursoMateria concursoMateria;
    private String texto;
    private String comentario;
    private QuestaoComplemento complemento;
    private Situacao situacao;
    private List<QuestaoItem> listaItens;

    public Questao() {
        super();
    }

    public ConcursoMateria getConcursoMateria() {
        if (this.concursoMateria == null) {
            this.concursoMateria = new ConcursoMateria();
        }
        return concursoMateria;
    }
    
    public Concurso getConcurso() {
        return getConcursoMateria().getConcurso();
    }

    public Materia getMateria() {
        return getConcursoMateria().getMateria();
    }

    public void setConcursoMateria(ConcursoMateria concursoMateria) {
        this.concursoMateria = concursoMateria;
    }

    public String getTexto() {
        return texto;
    }

    public void setTexto(String texto) {
        this.texto = texto;
    }
    
    public String getResumoTexto() {
        
        String resumoTexto = getTexto();
        resumoTexto = StringToolkit.replace(resumoTexto, "<br>", " "); 
        resumoTexto = StringToolkit.replace(resumoTexto, "<br/>", " "); 
        resumoTexto = StringToolkit.replace(resumoTexto, "</br>", " "); 
        resumoTexto = StringToolkit.substring(resumoTexto, 0, 50);
        return resumoTexto;
    }

    public String getComentario() {
        return comentario;
    }

    public void setComentario(String comentario) {
        this.comentario = comentario;
    }

    public QuestaoComplemento getComplemento() {
        if (this.complemento == null) {
            this.complemento = new QuestaoComplemento();
        }
        return complemento;
    }

    public void setComplemento(QuestaoComplemento questaoComplemento) {
        this.complemento = questaoComplemento;
    }

    public Situacao getSituacao() {
        if (this.situacao == null) {
            this.situacao = new Situacao();
        }
        return situacao;
    }

    public void setSituacao(Situacao situacao) {
        this.situacao = situacao;
    }

    public List<QuestaoItem> getListaItens() {
        if (this.listaItens == null) {
            this.listaItens = new ArrayList<QuestaoItem>();
        }
        return listaItens;
    }

    public void setListaItens(List<QuestaoItem> listaItens) {
        this.listaItens = listaItens;
    }

}
